perm filename SCORE.LCS[UP,DOC]1 blob
sn#087781 filedate 1974-02-20 generic text, type T, neo UTF8
**************** SCORE MANUAL ****************** OCT. 1972
********** SECTION 1 **********
The program 'SCORE' creates note lists for the PDP10 sound generation
program.
'SCORE' accomodates several instruments with 30 parameters per
instrument. To take full advantage of this program an initialization
file must be read into the sound program giving values for musical
note letters, etc. The file 'NOTES' has the necessary material.
You must create the input for 'SCORE' with an editor program. Be sure
the name (up to 5 letters) used for the file does not! appear
anywhere else. See Sec. 3 for a complete example of a simple
situation.
Almost all lines should end with a semicolon. Comments may be typed
after the ; . lines under 'EDIT' or 'INSERT' do not need a semicolon.
'RUN;' will end the note list. Entries under 'TAP' are best left
without the semicolon. In general, lines should include no more than
72 characters before comments. All lines must begin in column one.
All blank lines will be ignored. Generally commas and blanks are
interchangeable.
The 1st line will show the note data-list name.
**Do not put anything else on the 1st line -- not even a semicolon!!!
The name may have up to 5 letters. If the name given is 'ZOOM' the
note data-list will be written on the disk by SCORE as 'ZOOM.DAT'.
Next the name of instrument 1, followed by its begin time and
duration, may be typed. An instrument name cannot use more than 5
characters.
The begin time is given in seconds. If no duration is given, a
'FINE' must appear at the end of one of the lists of items entered
for that instrument. (see Sec. 5.) The duration may be set in seconds
or number of notes.
SECONDS: If only 2 numbers are typed, the 2nd will set the end
time, in seconds, for that instrument.
NUMBER OF NOTES: If the duration is to be set in terms of the
total number of notes, type the begin time, the instrument number and
the total number of notes for that instrument.
Example:
ZOOM (Note list name -- must be different from edit filename!)
BUZZ 0,32; Inst1 is BUZZ, BG time=0", duration=32".
(data for 'BUZZ' follows.)
ZAP 2,28; Inst2, BG time=2", last note will start before
time 28". (data for 'ZAP' follows.)
ZAP2 0 3,42; Inst3 is ZAP2, BGtime=0", duration=42 notes.
(data for 'ZAP2' follows.)
HISS ; Inst4 begins at time 0". It ends when an item list ends.
(see pg5).
(data for 'HISS' follows.)
Note that when the duration is given in seconds it means only that
the last note to be played by that instrument will begin no later
than the indicated duration. It can often happen that the duration
of the last note can extend beyond the given total duration. This is
almost certain to happen when random note durations are used. If the
precise ending time is crucial it must be carefully checked.
Later changes in parameter data for an instrument must be preceded by
the instrument name and the time at which that data change will take
effect. If the time is to be in seconds, only one number should
appear.
If the data is to start on a specific note, type an
instrument number and the particular note number of that instrument
desired.
RESTART:
Sometimes is may be desireable to restart an instrument after an
extended rest. If the exact duration of the rest is known it is best
simply to enter the rest as a minus number in P2 (see Sec.4).
However, if the duration of the rest is not easy to predict because
of the use of random selection or other reasons, the instrument may
be 'restarted'. In this case the instrument name (using at least 5
spaces) must be followed by the word 'RESTART' and the then the 2 or
3 numbeers needed to establish this new begin time and duration, as
noted above.
When this feature is used this instrument name will be given the next
available number in the instrument list (up to 27) and any references
to it after the restart time must use this new number.
Example:
TOOT 0 20; TOOT will play for at least 20"
- - -
- - -
- - - /END;
TOOT RESTART 28 0 15; TOOT will restart at time 28"
- - - and play 15 more notes.
- - -
- - - /END;
In specifying the parameters for your instruments, P3 is best
reserved for center frequency and P4 for amplitude. (See sect. 12)
%t,,,,2 After the entries for each begin time are complete, the word
'END' must appear before another instrument is dealt with. 'RUN;' may
replace 'END;' if there is no more data to come. 'RUN' must be the
last item of the note list.
Example: BUZZ 3,13; data begins on note 13 of instrument 3.
(i.e. ZAP2)
--
-- END ; End this data for BUZZ
RUN ; No more data. run the score.
********** SECTION 2 **********
If data for a parameter is to remain the same for several notes it
should be entered as follows:
P5 .73; P5 will be .73 until changed.
P6 100.2;
P3 CS5; P3, C# of the 5th octave.(notes of the
tempered scale used are from C1(=lowest C on
piano keyboard)to B7(=highest B). S=#, F=b
P7 "10*P5"; Any string surrounded by quotes will be
literally reproduced in the score.
P9 P6; P9 will always have the same data as P6. No
quotes needed. (See also "reserved number"
below.)
P8 F14; F14 remains until changed. (F1 through F15
be used. For higher function numbers use
quotes: ("F19")
****Note that any F that appears in this context will be
taken as a function number. The pitch class F may
not appear as a single item unless it is surrounded
by quotes. ("F")
The highest parameter number used by the instrument must appear in
the data list even if its input is to be a zero.
Example:
P2 1; ***** SLASHES (also see Sec.12) ****
P3 C4; All this data could appear on one line.
e.g. P2 1/P3 C4/P5 100/P7 0/END;
P5 100; P4 will be zero
P7 0; P6 will also be zero
END ;
****Reserved number!! 9999.PN (PN=parameter number) If you wish to
repeat data found in any previously set parameter, you may type P and
the parameter number or 9999 plus the parameter number in hundredths.
Example: P13 9999.04; Whatever is found in P4 will appear
in P13. ('P13 P4;' is the same.)
P14 9999.10; or P14 P10; repeats P10
Because of this you may not type in any numbers greater than 9998 and
have them reproduced as such. (Except with 'LITERAL'. see below.)
(Also see 'REP' on Sec. 6.)
******* Following is an example of a complete page of input. ******
SCALE *** This will create the score for a C-major scale with bass.
TOOT 0 1 8; BG time=0, inst 1 plays 8 notes.
P2 RHY/8/16//8//4//2*; Rhythm is 8th, 2 16ths, 2 8ths, 2 quarters,
half. See section 4 and following for use
of 'RHY', 'NOTES', etc.
P3 NOTES/C4/D/E/F/G/A/B/C5*; Scale goes up from middle C.
P4 500/P5 F1/END; Ampl(P4)=500, envelope is sostenuto (F1).
CLAR 0 2 5/P2 RHY/4 X 4/2*; 4 quarters and 1 half.
P3 NOTES/C3/A/F/G/C*; Bass notes
P4 450/P5 F2/END; F2 will give semi-staccato.
TEMPO/ 96 *; MM=96
RUN;
********** SECTION 3 **********
***** RANDOM SELECTION *****
If random selection is desired, type at least 3 numbers after the
parameter number. The first number will be a percentage (as 1
[=100%] or .76 [=76%]) and the next two will set the limits of the
random selection. e.g. '1 200,300' means 100% of the time a number
between 200 and 300 will be chosen. Several random selection ranges
may be typed for a single parameter, but
→→→→→only one line of 72 characters may be used.←←←←←
Care must be taken that the sum of the first numbers of each set of 3
is exactly 1 (=100%).
In the following example for P5, 50% of the time a number between 20
and 100 will be chosen, 10% of the time between 0 and .7, 10% of the
time the number 200, 25% of the time between 107 and 115 and 5% of
the time the number 1000.
P5 .5 20,100 .1 0,.7 .1 200,200 .25 107,115 .05 1000,1000;
(71 spaces used.)
If random selection of tempered scale notes is desired, use note
names instead of numbers.
Example:
P3 .5 C2,C3 .2 FS4,FS .3 D6,F; If no octave number is given, the
last listed applies.
(Function numbers may not be dealt with in the above manner.)
Individual literal statements may be selected at random using the
following form.
P7 .2 "P3*100" .3 "440" .5 "P3+P6**2";
The strings are surrounded by quotes and may have any number of
characters. The percentage numbers in the example above must add up
to 1 (100%) and and all such random data must appear on a single
line. Data consisting of ordinary numbers, or notes cannot be mixed
with literal strings.
***** P31 RANDOM TEMPO FACTOR *****
When P31 is set, the number will represent the maximum time
deviation, + or -, of the note duration numbers found in P2. Note
that the deviation is in terms of BASIC TIME, hence a tempo change
will not produce a change in the range of deviation. Check carefully
the results of using P31.
Example: P31 .06; Up to 6/100" random tempo deviation.
The 'ALL' feature does not! work with P31.
***** P32 RANDOM RESTS *****
Random rests may be entered by calling for parameter P32. Any
number from 0 to 1. (0% to 100%) may be typed.
Example: P32 .15;
If .15 is typed, a random selection of 15% of the notes of that
instrument will have rests of durations set by P2. The 'MOVE' feature
(explained later) may be used with P32.
********** SECTION 4 **********
********** SPECIAL CODE WORDS **********
RHYTHM; (RH) [acceptable minimum abbreviations]
NOTES; (NO)
NUMBERS; (NU)
FUNCTIONS; (FU)
RLIST; (RL) Sequential list of random num ranges.
RNOTES; (RN) Sequential list of random note ranges.
MOVE; (M) The code word must immediately
MOVX; (MX) follow the parameter number.
LITERAL; (L)
DF; Example: P2 RHY;
REPEAT; (RE) OR (X)
TAP; (T)
RTAP; (RT)
SUBN;
SUBL;
*********** RHY (FOR MUSICAL RHYTHMIC TERMINOLOGY) ***********
Entries under 'RHY' will always be in terms of the fractional part of
a whole note. Thus '4' represents a quarter note, '16' a 16th note,
'12' an 8th note triplet, etc. For dotted rhythms add dots to
numbers. Composites are entered by typing up to 5 numbers. To enter
a double dotted 8th note, type /8../, a dotted half tied to the first
of a triplet, /2.,12/, etc.
If several notes in a row have the same rhythm, type 'VALUE X N'
(where 'VALUE' is up to 5 numbers representing a rhythmic duration, X
is for 'TIMES' and 'N' is the number of equal values). Thus to repeat
15 dotted quarter notes, type /4. X 15/.
Complete rythmic units must be separated by slashes. If no new entry
appears between slashes (or a slash and a semicolon) the last entry
will be repeated for each slash. The semicolon may serve the double
purpose of a slash and the end point of a line.
Example: 4///8 X 9/2/; 3 quarters, 9 eighths, 2 half notes.
-----------------------------------------------
Any group of varied rhythms may be repeated several times by entering
'REP' or 'X' and N1,N2. N1 will be the number of entries involved
and N2 will be the total number of times the group will occur. If no
2nd number appears, N2=2.
Example: 4/8 X 5/2./REP 7,3/2; The group of 7 rhythms,
1 quarter, 5 eighths and a dotted half will play 3 times.
Here 'REP' and 'X' are interchangeable and may also be used with
lists under 'NOTES','FUNC' and 'NUM'.
Type '*;' to terminate a string of rhythmic entries before listing
data for another parameter.
For rests, the first number appearing must be negative. A whole note
rest plus a 16th rest would be entered as /-1,16/. Rests may also be
entered with 'NOTES'.
If fewer rhythms are entered than are required to make up the whole
duration of a section, the series given will loop until some new data
is entered. This will work the same way for any sequential lists of
data.
xxx TEMPO xxx
The tempo may be set for each instrument separately under P2, or for
all parts at once (the preferred method) after all other data is
entered. If the tempo is to be set under 'P2 RHY;' use the following
procedures.
Normally, 3 numbers will be given on each line. N1=duration N2=tempo
at start of dur. N3=tempo at end of dur. Up to 30 changes may be
made at a time. The tempo may be set in either of two ways.
Conventional metronome numbers may be used, (I.e. mm=the number of
quarter notes per minute), or the tempo may be set in terms of 'tempo
factors'. The 'tempo factor' 1 is equivalent to mm=60. 'Tempo
factors' must be less than 10, 'mm' numbers must be greater than 11.
If only one number is given after 'TEMPO' it will be taken as a fixed
tempo, not as a duration.
Example: TEMPO/ 96 *; mm=96 unless changed at some later time.
If you type 11 45 120, the tempo will shift from the first tempo to
the second tempo during the course of the number of quarter notes
given. (The numbers 11 .75 2 will be taken as 'tempo factors' and
produce exactly the same results.) If you type two numbers, a third
number will be assumed as the same as the second number.
Example:P2 RHY;
TEMPO/10 84 112;Changes from mm=84 to mm=112
in 10 quarter notes.
5 112; Tempo will remain at 112 for 5 quarters.
108*; Tempo will stay at 108. must end with '*;'.
4/8//4/16; Rhythm data must follow immediately.
(Note: It is probably more convenient to set the tempo changes for
all parts at once with the 'TEMPO' feature described on page 17. If
this is done it is best to omit 'TEMPO' data under 'P2 RHY;'. If
'TEMPO' is not mentioned, mm=60.)
********** SECTION 5 **********
************ NOTES (do not use with P2) *************
Use this code word to enter note letters.
When the file 'NOTES' has been read into the music program, the
program will understand the tempered scale as follows. 'C4'=middle
C, 'C3'=1 octave below,(prints as C/2) 'C2' =two octaves
below,(prints C/4) 'C1'=three octaves below, 'C5'=one octave above,
'C6'=two octaves above, etc. 'CS'=C#,'GS'=G#, 'AF'=Ab, 'EF'=Eb,
etc. If a rest is desired, type 'R' (with 'NOTES' only).
Example: P3 NOTES;
C4/CS/R/D/DS//E/; Last 2 entries each play twice.
F X 6; 6 F's.
REP 7,4*; Last 7 entries play 4 times. '*;' ends the
list.
Each octave is taken as starting with the note C. Normally, the
octave number, once given, will stick until a new octave number
appears. Thus, to move a 1/2 step B to C, /B3/C4/B3/C4/ must be
typed, whereas /E4/F/E/F/ also gives 1/2 steps.
A different, "PROXIMITY", mode may be used by typing 'P' in front of
the 1st note entered. This mode automatically chooses the following
octave numbers so as to produce the smallest intervals between notes.
/P B3/C/B/C/ gives 1/2 steps.
In this mode, skips up or down of greater than a perfect 4th, within
an octave span, may be produced by following t␈{o␈Xte with a '+' of
'-' (or, the new octave number). To go up a minor 6th from G,
/G5/EF+/, to go down a perfect 5th from F#, /FS4/B-/. Any skips
greater than an octave require a new octave number.
PROXIMITY mode may be left by typing 'N' (for normal) in front of a
note and its octave number. /N B3/C/ gives a major 7th.
If no duration is earlier specified (see pg 1) the list in 'NOTES'
must end with the word 'FINE'. 'FINE' may be used with 'NOTES',
'NUM', 'FUNC' OR 'LIT'.
Example: P3 NOTES/A5/G/FS4/D/B3/FINE*;
'FINE' ends NOTES (and sets duration at that point.)
************* LIT (do not use with P2) *************
All literal data must be surrounded by quotes. Entries must be
separated by slashes and all lines must end with a semicolon. Extra
slashes will repeat items, but 'X' or 'REP' may not be used for
repeats. However, as with 'NOTES', 'RHY', 'NUM' and 'FUNC', any
series of entries will loop until changed at some later begin time.
The series of literal items must be ended with a '*'.
Example: P12 LIT;
"P4*2" ///"P4*3"/"P5/3"; First item will be used 3
times.
"P11+5"/",-52"*; A negative value must be preceded by
a comma in any literal data.
("A"/*; or "A"/; will cause the 'A' to appear twice.)
*************** NUM (use with any parameter) *************
This works exactly the same way as 'NOTES' except that numbers only!
may be typed. 'NUM' is useful in setting strings of note durations
or amplitudes without regard to musical terminology. (9999.PN may be
used here. see page 2.)
Example: P5 NUM/100/200//300 X 10;
452/9999.04//500*; 9999.04 repeats whatever is in P4
'*;' ends the list.
********** FUNC (do not use with P2) **********
This works as above. Functions 1 through 15 are available. Do not!
use 'F' with the function numbers in this case only!
Example: P7 FUNC/3//4 X 4/5/REP 3,2*;=F3,F3,F4,F4,F4,F4,F5,F4,F4,F5.
'*;' ends the list.
********** SECTION 6 **********
***** RLIST (RANDOM LIST OF NUMBERS) *****
With RLIST a sequential list of random selection ranges of ordinary
numbers may be entered. The list is terminated by a '*'.
***** The repeat of a unit by means of a slash may be used but
REP must !!not!! used. 'Motives' are possible. (See Sec.7)
EXAMPLE: P4 RLIST/50,200//1000,1000/700,900*;
***** RNOTES (RANDOM LIST OF NOTES) *****
RNOTES has the same features as above but using note names for the
ranges.
EXAMPLE: P3 RNOTES/C4,CS/E,GS//B,F5/D3,D*;
***** REP or X (N1,N2,N3); *****
'REP' or 'X' is used to repeat any previously entered data into the
current parameter. In the following examples assume that 'ZAP' is
instrument 2.
If no number follows 'REP', data of the same parameter number of the
previous instrument will be repeated. If one number is used, it will
be a parameter number of the previous instrument. If 2 numbers
appear, the second will be an instrument number. A 3rd number will
cause the data to be repeated for all following instruments through
the number given.
Example:ZAP ;
P2 REP; P2 of ZAP will have same data as P2 of previous inst.
P5 REP 7; Repeats data of P7, previous inst.
P8 REP 5,2; Repeats data of P5, inst 2.
(i.e. ZAP. See below re.';')
P9 X 4,1 5; P4, inst1, repeats in this and all insts up
to inst 5.
P10 X 6,3; Repeats P6 data, inst3
(This data must already have appeared above.)
→→→→→→N.B. Use REP with MOVE data only! if the begin times of the
instruments involved are the same. See Sec. 10 for other
information regarding 'REP'. (Also see 'DUPL', Sec. 10.)
To repeat data from one parameter to another within a single
instrument the semicolon (or slash) alone may be used.
Example: P12 1.23; No other data may appear between this and
the next line.
P7 ; Repeats data of P12. Be sure a space precedes
';'.
When using any kind of random selection 'REP' will repeat the limits
of selection only, not the particular choices made.
To repeat the choices themselves use '9999.PN' (See Sec. 2).
Example: P4 1 10,100; P4 chooses a number between 10 and 100.
P12 9999.04;The choice of P4 will also appear in P12.
(or P12 P4;)
********** SECTION 7 **********
*********** MOTIVIC REPEATS [ ( ), @, $, - ] **********
When any motivic group of items appearing in RHY, NUM, NOTES, FUNC,
LIT or DF is to be used several times the group may be associated
with any letter of the alphabet by surrounding it with parentheses
The identifying letter must precede the left parenthesis and the
right parenthesis must follow the last item to be included in the
group.
Example: P3 NOTES/A4/ Q (BF/D5/F/D )/ G4/ etc.
From this point on the motive Bb-D-F-D may be entered by simply
typing / @Q /. The '@' sign must always immediately precede the
identifying letter. When '@' is used, other than the single letter,
only the *, which ends a string, may also appear between those
slashes. However the various repeat features may be applied
thereafter. / @Q/REP 2/ would create /BF4/D5/F/D/F/D/, i.e. the last
two items of 'Q' would be repeated.
In the above example @Q could also be used in any following
instrument to enter that sequence of notes.
It is possible to nest motives. In the following 'X' will include
'Q'.
Example: / X (E4/ @Q / E )/
→→→→→→→→ N.B. In this case the octave (5) number of the last item of
the Q motive will never carry over into the next note. Rather, the
last actual number given (4) will hold until changed.
In the following, motive 'J' will include motives 'M' and 'K'.
/J( M( E4/G/A )/ B/K( BF/C5/D )/ F )/
| |________| |_________| |
|________________________________|
N.B. No more than 2! left parentheses may be open at one time. The
right parentheses always will close off the nearest left parenthesis
which is still open.
XXXXXXXX TRANSPOSITION XXXXXXXXXXX
MOTIVIC TRANSFORMATIONS may be created in several ways. A number may
be added after the identifier. /@Q 12/, /@Q -5/, /@T .3/
If the motive is appearing in NOTES the number will refer to the
number of 1/2 steps transposition to be made. In the 1st case above
the notes of Q would now appear 8va higher; in the 2nd case, a
perfect 4th down (-5 1/2 steps.)
XXXXXXXXX AUGMENTATION, DIMINUTION XXXXXXXXX
If the motive appears in RHYTHM, NUMBERS or DF, the added number will
become a multiplier. If 'T' were established as follows:
p7 NUM/ T(111/ 222 / 300 ) *;
/@T .3/ would produce / 33.3 / 66.6 / 100 /.
***** Note that any multiplier in the time or rhythmic domain will
simply multiply the note durations. Thus a 3 would make all notes 3
times longer, .333 would make them 1/3 as long.
XXXXXXXXXX RETROGRADE MOTION XXXXXXXXXX
Motives may be used in retrograde motion by simply typing '-' before
the identifier. /@-Q/ causes motive Q to be played backwards.
XXXXXXXXXX INVERSION XXXXXXXXXXX
When using NOTES it is possible to invert motives by inserting '$'
before the identifier. /@$Q/ will give an exact intervallic
inversion of motive Q. If Q included the notes /C4/D/EF/, /@$Q/
would produce /C4/BF3/A/. Note that if the retrograde is used at the
same time as '$', the inversion will turn on the last note of the
original motive. Thus /@$-Q/ produces /EF4/FF/GF/ (i.e. Eb,Fb,Gb).
Transposition may be done at the same time! /@$-Q -6/ means that Q
will be inverted, played backwards and the 1st note to be heard will
be transposed down 6 1/2 steps (a tritone) from the original. Thus
the notes will be /A3/BF/C4/.
********** SECTION 8 **********
**************** MOVE, MOVX *******************
MOVE may be used for gradual changes from one number (or note) to
another or from one range of random selection to another. MOVE works
on a straight line basis. Use MOVX if an exponential curve is
desired.
If no random element is involved, 3 to 1 numbers may be typed on each
line.
Example: P3 MOVE/3 C4,D5*; In 3" moves from C4 to D5.
'*;' ends MOVE. P3 will stay at D5.
P4 MOVX/12 100,1000; In 12", moves exponentially from 10
to 1000.
10 1000,70*; In 10", from 1000 to 70. '*;' Ends list.
P4 stays at 70.
P5 MOVE/15 1000; Stays at 1000 for 15".
2500*; Holds at 2500 until end or later change.
For changing random ranges type 5 numbers on each line. You should
type a duration (in seconds), a lower and upper limit for random
selection at the beginning of the time and a lower and upper limit
for random selection at the end of the duration given.
When the durations given have passed, the parameter will continue to
choose from the last selection range.
EXAMPLE: If you should want the amplitude to gradually increase from
any number between 200 and 300 up to the number 1200 over a period of
15 seconds and then return to the range 300,350 over the next 10
seconds type the following:
P4 MOVE; Upper limit moves from 300 to 1200, lower from 200
1200.
15 200,300 1200,1200;
10 1200,1200 300,350; Now moves to new limits.
'*;' will end the list.
N.B. You may not! mix the 2 types of entries used with MOVE or MOVX.
If any units contain 5 numbers, they all must!
MOVE (but not! MOVX!!) may also be used with 'P32'. In this case
there will be no lower and upper limits involved. To gradually
shift from no rests to 80% rests in 20 seconds, then back to 20%
rests in the next 13 seconds type:
Example: P32 MOVE/20 0 .8 /13 .8 .2*;
Note that the first time value in MOVE will start from whatever begin
time was last given for that instrument regardless of the
instrument's original begin time.
Example: ZAP 23.4; Next data begins at time 23.4"
P6 MOVE;
12 100 350*;P6 moves from 100 to 350 during time 23.4
to 35.4". '*;' will end the list.
******* WARNING !!!! ********
Problems (round-off errors) can occur with MOVE begin times if the
instrument does not have its first begin time at time 0. If a rest
is needed as the first note for an instrument using MOVE it is best
to put it into P2 and then have the instrument start at time 0.
Be sure to proof read carefully.
********** SECTION 9 **********
***** SUBL,(Subroutine,Letters), SUBN(Subroutine,Numbers) *****
A subroutine may be added to the 'SCORE' program to set values for P2
through P30. This subroutine may be called from several different
parameters. The codes 'SUBL', 'SUBN' determine the form of the
output for the calling parameter. The heading for the subroutine
must be exactly as follows:
SUBROUTINE SUBR
COMMON /INS/ INST(27),BG(60)
COMMON P(30),INUM,IPAR,CNT(27),BT,PL(48),IREST,DF
C INST=INSTRUMENT NAME, BG=BEGIN TIME OF EACH INST.
C INUM=INST# IPAR=PARAM# BT=BASIC TIME P1 WHEN SUBROUTINE IS
C CALLED, IF IREST IS <0, THAT NOTE WILL BE A REST.
C NOTE #S IN SUBROUTINE: (1-84) C4=37 FS4=43 C5=49 F1=86
C F15=100 (NO F16!)
'CNT' is the note number for each instrument. (See 'INFO' for exact
dimension .) 'BT' is the 'basic' begin time (i.e. uneffected by
'TEMPO' or 'TF') of each note.
To call the subroutine from any parameter type: P4 SUBN/P7 SUBL; etc.
If the last parameter of an instrument calls the subroutine, all the
other parameters may be reset in relation to each other in any way
seen fit.
The PL array is used to show the type of printout desired for each
parameter. If there is to be no change from the original state, PL
may be ignored. If you wish to change 'NOTES' input to a number, set
PL(N) [N is the param. number] to 1.
P(3)=445.
PL(3)=1. If P3 had been printing 'NOTES' data,
at this point the number 445 would
print.
To make the change to a 5 character literal printout, change PL(N) to
3.
P(5)='CS/4' Regardless of the original form of P5
PL(5)=3. It will now print those characters.
(up to 5)
→→→ never alter PL(2)!!! ←←←
If some interaction between instruments is desired there are many
ways to move parameter information around. The use of dummy
parameters (those which are not used in any instrument) which call
the subroutine is a good way to store parameter data for later use.
!! Special problems with P2 !! If P2 is set with 'P2 SUBN;' all
TEMPO changes will effect the note durations in the usual manner. If
P2 is reset during any other subroutine calls TEMPO changes will not
be effective. also 'duration' set in seconds may have to be adjusted
to 'real time' values.
The following subroutine is included in SCORE.DMP (which you get when
you type R SCORE.) In order to use this routine P11 through P13 must
not appear in the instrument since they are used to transmit numbers
and to call the subroutine.
C***** THIS ROUTINE DIVIDES OCTAVE INTO ANY NUMBER OF EQUAL PARTS
SUBROUTINE SUBR
COMMON /INS/ INST(27),BG(60)
COMMON P(30),INUM,IPAR,CNT(27),BT,PL(48),IREST,DF
C CALL SUBROUTINE FROM P12. P3 CAN BE NOTES OR NUMBS.
X=P(3)
IF(PL(3).EQ.1)GO TO 1
X=30.868*2**(P(3)/12)
C X=FREQ. IN HZ. BASED ON NOTE # IN P3 (OR GIVEN FREQ.)
PL(3)=1.
C THIS CAUSES FREQ. NUM TO PRINT INSTEAD OF LITERAL CHARACTERS.
1 P(3)=X*2**(P(11)/P(12))
C P12=# OF DIVISIONS OF THE OCTAVE. P11=CHROMATIC STEP IN THAT DIV.
RETURN
END
C STEPS ; TYPICAL INPUT FOR MICROTONE SUBROUTINE.
C CLAR /P2 .3/P3 A3/P4 1000/P5 F1/P7 F4/P10 1;
C P11 NUM/0/1/2/3/4/5/6/7/8/9/FINE*;
C P12 9 SUBN/END; OCTAVE IS DIVIDED INTO 9 PARTS.
********** SECTION 10 **********
xxxxx DUTY FACTOR (DF) xxxxx
Normally DF=1, i.e. The envelope for a .5" note will last exactly
.5". If DF=.3, the envelope will last .15" (i.e. .5*.3) followed by
.35" of silence. 'DF' may be set with any of the ways of dealing
with simple numbers. 'DF' should appear immediately after the
parameter number (and a space), then any other code word pertaining
to numbers may be used. (Use any parameter not needed by the
instrument.)
Example: P6 DF NUM; List of numbers will be duty factors.
1/.5/.7/1*; If P2=.5, the notes will all start at .5"
intervals.
or: P6 DF MOVE/10 1 .3*; The duty factor changes.
or: P6 DF .7; The duty factor remains at 70%.
**** NOTE: DF affects P2 only.
DF should not exceed 1 (i.e. 100%) unless some
provision is made re. overlapping notes of one
instrument (usually forbidden).
*************** INVISIBLE *********************
If the letter I (or the whole word INVISIBLE) is found after an
instrument name, that instrument name, as well as P1 and P2, will
not! print in the score. This is useful for entering changes in SEG
or SYNTH that are to follow set time patterns. When using INVISIBLE,
P3 should usually have some identifier in quotes. If for any reason
it were desired to have the values of P1 and P2 appear after P3,
simply set P4 P1; and P5 P2;. Then consider that what would normally
be P3 will now be entered as P6, etc.
DUM1 INVIS 0 10; The name DUM1, P1 and P2 will be invisible.
P2 1; The two instrument names will
P3 LIT/"GLISS"/"BLOP"*; alternate from note to note.
P4 P1/P5 P2; P4 and P5 will print P1 and P2.
- - - etc.
See SEG and SYNTH for further use of INVISIBLE.
*******Note that Tempo Factor changes will not!! show up when P2 is
transferred to some other parameter.************
************* TAP (for real time RHYTHM) **************
Use 'TAP' to read in lists of note durations prepared with the
'RHYTHM' program. Such lists are treated by 'SCORE' exactly as if
you had typed in a long string of values under 'NUM'. (The 'RHYthm'
program allows you to tap out note durations with two telegraph keys.
The program is self-instructional.)
Type the name (use 5 spaces) under which you have saved the RHYTHM
list on the line after the parameter number.
Example: P2 TAP; 'BEATS' is the name of the list
BEATS ; created by the 'RHYthm' program.
('TEMPO' and 'TF'[TEMPO factor] will affect any data in P2 except
that entered by the 'EDIT' and 'INSERT' features.)
********** RTAP (coordinates real time input parts) ***********
This is similar to 'TAP' except that you must indicate at what points
the parts are to be coordinated. Under the name of the 'RTAP' input
file you must type a string of pairs of numbers. The 1st of each pair
will be a duration in rhythmic units (i.e.quarter notes, whole notes
etc.) the 2nd will be the total num of notes to be fitted into that
rhythmic time.
With 'RTAP' you must consider that the TEMPO is relatively stable
when tapping the rhythm for each part. Any overall TEMPO changes
will be entered with 'TEMPO' or 'CONDUCT'.
In the following example the 1st 7 notes will fit into 1 whole note
(4 basic seconds) of time. Note #8 will begin exactly on the 2nd
whole note of time. The next 14 notes will fit into the next 6
quarter notes of time. finally the last 3 notes will fit into a half
note of time.
Example: P2 RTAP;
RUBAT; Name of 'RTAP' input for this inst.
1/7 /1,2/14 /2/ 3; three pairs.
'*;' will end the list.
***** DUPL N; *****
Use this for duplicating instruments already set up. This is similar
to 'REP' except that all the parameter data entered to this point
will be copied. 'DUPL' must appear just after an instrument name. A
different begin time may be given the new instrument. The parameter
data in effect at that time will be duplicated, but all further
changes must be dealt with in the ordinary ways. (For MOVE data to be
properly interpreted, the begin times of instruments involved must!
be the same.)
Example: ZAP2 1,30; Starting with note 30 of instrument 1 all
DUPL 2; instrument 2's data will be copied by ZAP2.
P7 25/END; Any parameter may be reset immediately.
Once a parameter is set by 'DUPL' or 'REP' it will continue to follow
any changes occurring in the original or leading instrument unless
the parameter has been reset in the instrument at hand.
BUZZ 0 20/P2 1/P3 C4/P4 400/END;
ZAP 0 20/DUPL 1/P3 E4/END; P3 has been reset.
BUZZ 10/P3 G4/P4 500/END; P4 of ZAP will go to 500, P3 of ZAP will
not change.
'DUPL' will not duplicate 'TAP' input. (In some cases '9999.02' could
be used.)
***** ALL *****
If several parameters are to be the same for all instruments the word
"ALL" may be inserted after any parameter number. The data in that
parameter will then appear in all instruments with a higher
instrument number used. If some instruments are not to use the "ALL"
data, their data may be entered in the usual way on a later line. It
will override the "ALL" data.
BUZZ 0 1 12 ALL/P2 ALL 1/P3 C4 ALL/P4 200 ALL/END;
This data for all unless changes appear.
HISS /P3 G4/END; 'HISS' changes P3 to G4.
ZAP 0 1 18/P2.7/END; 'ZAP' plays 18 NOTES, P2=.7"
TOOT /RUN; 'TOOT' uses all data of 'BUZZ'.
Special care must be taken when using 'MOVE' with 'ALL'.
Check your score carefully. "ALL" will not work with P31.
********** SECTION 11 **********
***** 'SEG' and 'SYNTH' *****
If any functions are to be redefined in the course of a score, by
means of the INVISIBLE feature, 'SEG' and 'SYNTH' may be treated as
'instruments' -- with the difference that P1 and P2 will not be
printed out. P3 will be reserved for the function name plus the
';'. This data must appear with quotes. (See Section 10.)
Using 'SYNTH', suppose you should wish to change from a mixture of
66% fundamental and 34% 2nd harmonic to 0% fund., 34% 2nd harmonic
and 66% 3rd harmonic over a period of 20 seconds at 1 second
intervals.
Example: DUMY1 INVIS 0 20;
P2 1;
P3 "SYNTH(F1);"; Sets the function number.
P4 1; The first semicolon in the line above is part of
the data.
P5 MOVE/20 .66,0*;
P6 2/P7 .34/P8 3/P9 MOVE/20 0,.66*;
P10 999/END; SYNTH data must always end with '999'.
If the number of parameters needed for 'SYNTH' is to vary from
time to time, set the number to the maximum needed at the beginning
and always set all the unused pairs to 1,0 (fundamental at 0 ampl.).
With 'SEG' there are some special problems since the number of
'steps' must add up to exactly 100 and no numbers may follow the
last amplitude given. Thus if the number of parameters needed is
variable, all those following the last used must contain ';'.
Suppose you wish a glissando rate in F12 to change in 5
steps during 20" from 'SEG(F12);0,1 1,100;' (slow) to 'SEG(F12);0,1
0,80 1,100;' (fast).
Set up 'SEG' with 9 parameters. Set P2 to the times desired for each
change of F12. Use quotes with P3 to enter '(F12);'.
Example: DUMY2 INVIS 0 20 /P2 4/P3 "SEG(F12)"; (P4 will be 0)
P5 1; (P6 will be 0)
P7 NUM/1/20/40/60/80*;
P8 1/P9 100/END ; No '999' is needed with 'SEG'.
***** Code words not used in conjunction with instrument names *****
INSERT
EDIT
TEMPO
CONDUCT
xxxxx INSERT N1(,N2,N3); xxxxx (Be sure to leave a space before N1.)
This is useful for adding single notes or comments. A total of 19
lines may be added.
A line may be added at a specific point in time or in terms of a note
number.
A single number after insert will be the insert's entry time in
seconds. If two numbers are given, they will be the instrument number
and note number before which the insert will appear. If any 3rd
number is given, 'INSERT' will reproduce several lines of text. To
end the input type '*' in column one of a final line. This will not
appear in the printout.
An entry time in seconds will be in 'basic time', i.e. not affected
by 'TEMPO' or 'TF' changes.
Example: INSERT 2.5; Next line will appear at 2.5" 'basic
time'.
SEG(F2);0,1 1,100;
INSERT 3,45; Next line will appear just before note
45 of inst 3.
PRINT(P4);
INSERT 5,0,1; Next lines will appear at time 5".
P23←526;
RA←0;
RB←0;
* This line will not appear in score.
Up to 75 characters may be entered in each line. A 'comment' for the
score may be typed by beginning the entry with '<' and ending with
';'. If note data is to be inserted, be careful that P1 and P2 are
consistent with the requirements of the music program.
xxxxx EDIT N1,N2(,N3) xxxxx
'EDIT' allows you to edit any single parameter (except P1) already
written in the score or you may replace the entire list of parameters
for any given note. 'EDIT' supercedes all choices made by other
means.
N1=inst number. N2=note number. N3=parameter number.
If you type only 2 numbers (inst & note numbers), you will have to
insert the instrument name and all! parameters for that note and what
you type will appear exactly as is in the score. Be sure that P1
and P2 are correct. 75 spaces may be used. If you also type the
parameter number, you may enter new data for that parameter and note
only.
When P2 is edited it may only be a number. (Also - P2, when edited,
will not be affected by 'TEMPO' or 'TF'changes.) P3-30 may use up to
5 characters. What you type will appear as is. Do not use quotes.
N.B. If note pitches are edited (using the tempered scale) they must
be entered as C, C/2, CS*4, etc., not as C4, C3, CS6, etc.
xxxxx TEMPO (N) xxxxx
This is used to make TEMPO changes for all instruments at once, 'N'
is begin time (in basic time) of first TEMPO change.
→→→ When TEMPO is used for the 1st time 'N' must!! equal zero. When
'N' is omitted, =0 is assumed. Metronome numbers from 20 up or TEMPO
factors from .1 to 10 may be entered. Any number larger than 10 will
be understood as a MM number.
The duration of a TEMPO change is always in terms of 'basic time',
I.E. when the 'overall TEMPO factor' is 1 or a quarter note=1 sec.
(Of course a quarter note might not equal 1 sec. If TEMPO changes
have been entered with 'RHY'. The important thing is that the TEMPO
factor is '1' until changed by 'TEMPO'.)
P1 and P2 values in 'INSERT' and 'EDIT' notes remain unchanged by
'TEMPO' and 'TF' and hence must be reset.
See Sec. 4 for example.
xxxxx CONDUCT xxxxx
Use 'CONDUCT' to read in a list of TEMPO changes prepared with the
'RHYTHM' program. (See also 'TAP' on page 6.) The list is treated by
score as if you had typed in a TEMPO change for each beat. You
cannot use 'TEMPO' if you use 'CONDUCT'. (You may use 'TF' however.
see page 16.)
Example: CONDUCT ;
60X ; '60X' might be the name of the list created
by the 'RHYTHM' program.
(Note: You cannot use 'TAP' or 'RTAP' with inst 27 if you plan to use
'CONDUCT'.)
******** SLASHES **********
Many items may be put on one line. Slashes must separate the items
and the line must end with a ';'.
Example: BUZZ 0 10/P2 1/P3 C4 /P5 100/P7 0/END;
ZAP 3,15/P5 .73 /P6 100.2 /END;
HISS 0 5/P2 .1/P3 1 C4,B/RUN;
→→→→ A new line must always be used after the word 'END' .
********** SECTION 12 **********
********** How to run 'SCORE' **********
To run 'SCORE' type 'R SCORE'. The TTY will respond by typing 'TYPE
FILE NAME'.
You should type the name of the edit file containing all your
parameter data. Following the file name up to 4 numbers may be
typed. (See also 'TYPE' and 'EDIT' at end of this section.)
N1=TEMPO FACTOR (TF) N2=amplitude factor (ampfac)
N3=seconds to be omitted N4=duration at cutoff
(If you type 'INFO' for the file name a resume of the above and how
many instruments are available is typed out.)
If no numbers are typed the following is assumed: N1=1, N2=1, N3=0,
N4=19999.
The following explains the various possibilities.
xxxxx TF xxxxx
The 'TEMPO FACTOR' controls all time elements in the score. If it is
set to 2, all P1 and P2 time will move twice as fast. (I.e. The time
values will be cut in half.) If it is set to .333, all time will be 3
times as long, etc.
'TF' is set at 1 (or MM=60) at start of program.
None of the time values printed at the top of the score are affected
by the overall TEMPO FACTOR.
The 'TEMPO FACTOR' will always automatically reset itself to '1' at
the end of each run. Any values for P1 or P2 set with 'INSERT' or
'EDIT' will not! be changed by 'TF' or 'TEMPO' changes. If such
values are not reset errors will occur in the sound generating
program.
xxxxx AMPFAC xxxxx
This controls the values in P4 only. If amplitude data occurs in
other parameters leave AMPFAC at 1. If you set AMPFAC (N2) at 1.5,
all P4 numbers will be increased by 50%.
If AMPFAC is to be changed but not 'TF', a 1 or 0 must appear for
'TF'.
Example: TTY -- TYPE FILE NAME
You -- ZOOM 0 1.5 <CR>
xxxxx OMIT xxxxx
Use this for testing small sections of long note lists. Example:
suppose you wish to run only 5 seconds from the end of a 25" list.
Example: ZOOM 0 0 20
Be careful regarding 'INSERT' and 'EDIT' NOTES. The P1 time of such
NOTES is unaffected by 'OMIT'.
Also the 'TEMPO FACTOR' does not interact with 'OMIT' or 'DURATION'.
If you use 'TF' and 'OMIT' together, first get a listing with 'TF'
set as you wish it, then set 'OMIT' according to those time values.
'OMIT' will always automatically reset itself to '0' at the end of
each run.
xxxxx DURATION xxxxx
If you wish to set the actual duration to something less than that
given in the input list type the new duration as the fourth number.
To play the first 10" of a 25" note list type:
ZOOM 0 0 0 10
To play the section from time 6.2" to 12.35" type:
ZOOM 0 0 6.2 12.35
Sometimes roundoff problems occur. Check your note lists carefully.
Next the TTY will type:
'TO DSK=1, TTY=2, BOTH=0, LPT=22, PROOF=3, DEBUG=4'
If you type a '3' the actual duration of the note list will
eventually appear on the TTY and the numbers of items found in the
various lists.
If you type '4', the contents of the 'V array' will be printed.
If you type a second number it will become the initial random number.
If you type any third number it will cause the listing of all input
data to be suppressed. It will not affect the list written on the
disk.
Example: TTY -- 'TO DSK=1, TTY=2, BOTH=0, LPT=22, PROOF=3, DEBUG=4'
You -- 2 399 1
xxxxx TYPE xxxxx
If when SCORE is started you type 'TYPE' instead of a file name a
complete note data-list may be entered directly to SCORE without
recourse to an outside editor. Care must be taken as there is no
provision for backing up to correct an earlier line. After the word
'RUN' is entered all data typed is put into a disk file known as
FOR21.DAT which may be later edited like any other file. If this
data is to be kept it is advisable to rename the file as any later
use of the 'TYPE' feature will create a new FOR21.DAT file.
xxxxx EDIT --- Editing SCORE input as it is read in. xxxxx
If 'EDIT' is given as the file name when SCORE is started each line
of input may be changed. You will be asked again to 'TYPE FILE
NAME'. Now enter the edit file name. As each line appears the
program questions if changes are to be made. 'Y' (=yes) indicates a
change. In this case the complete line, with changes, must be
retyped. A <CR> is taken to mean no changes are desired. No new
lines may be inserted but lines may be lengthed to 72 characters. 'G'
(=go) may be used to escape from this edit mode. If this type of
editing is anticipated when the file is first set up it is advisable
to use very short lines of text.
********** SECTION 13 **********
********* SECTIONS ********
If certain blocks of data are to recur they may be given section
names which can be called upon several times.
SECTION A;
TOOT 0 20/P2 .1/P3 NO/B4/A/G*/P4 500/END;
END SECTION;
SECTION B;
BUZZ 0 20/P2 .25/P3 1 C2,G3/P4 800/END;
END SECTION;
BUZZ /P5 F1/END;
TOOT 5 -4/END; A 4" rest begins after time 5".
PLAY A 9;
BUZZ 7 -3/END;
PLAY B 10;
BUZZ 10/P4 150/END;
TOOT 13/P3 NOTES/CS5/DS/E/FS*/END;
PLAY A 18;
RUN;
Sections are identified by any single character. They are terminated
by 'END SECTION'. In the above example, anytime the data appearing
in 'SECTION A' is to be used after its 1st use the line 'PLAY
A,N1,N2;' must appear. N1 and N2 are numbers used to set the begin
time of each play. If N2 is 0 or does not appear the begin time is
in seconds. If 2 numbers appear, the 1st is an instrument number,
the 2nd a note number.
'SECTION' may be used at any time in the data list. A 'PLAY' may
appear anywhere after a section has been designated. At any time the
data of a section may be over-ridden by listing new data for any of
the parameters. Above, at time 10" P4 of BUZZ will change to 150.
etc.
Be sure to check your score carefully when using this feature in
conjunction with 'ALL', 'MOVE', 'DUPL', and 'REP'.
********** SECTION 14 **********
∞∞∞∞∞∞ How to play more than a couple of seconds of sound. ∞∞∞∞∞∞∞∞∞
In the sound generating program when '*' appears type: 'RCDFLG←1;'
Type 'BIGBIT←1' if maximum amplitudes are in doubt. This will cause
the computed sound samples to be written out on the disk in a series
of files beginning with the name MUSAA.DMD. If BIGBIT←-1; samples go
to MTA0. Be sure that RCDFLG and/or BIGBIT are set to zero when these
features are not being used.*****
For operation with RCDFLG or BIGBIT it is best if 'LSBUF' is between
1000 and 2000. With RCDFLG you may also type 'DOPLAY←1;' if you wish
each buffer full of sound to play over the speakers while the
computation is proceeding.
When your music has finished computing make a note of the last name
that appears on the TTY. (e.g. MUSAQ)
When in this mode the program writes a 'SAVE' file on the disk after
every 33000 words of omputing. This file bears the name of whatever
you last typed as input to the program plus the extension '.SAV'. If
the computer dies while the program is running, after it is restarted
simply type 'RUN NAME.SAV CORE' where 'NAME' is what you had last
entered and 'CORE' is the proper core size of the job. The job will
take up where it last saved itself.
(If you were writing on MAGTAPE the tape must also be
repositioned with the TAPNEW program.)
To play long pieces you must first convert all your '.DMD' files to
one long file called 'MUSIC.MUS'. This is done by the 'CONNEW'
program. Type 'EX CONNEW[MUS,LCS]'. (EX=execute) For name #1 type
'MUSAA' if that is the first name. (<CR>=MUSAA) Then type the last
name noted earlier. (e.g. MUSAQ)
The TTY will type the file names as the conversion takes place.
Next type 'EX sOUND[MUS,LCS]'. SOUND is self-instructional. If the
UDP (user disk pack) is used it must! be assigned. To play from the
UDP use 'UDPNEW[MUS,LCS]' instead of SOUND.
*** RCDFLG←-1; ***
Use this when running from 5 to 30 seconds of sound. This causes one
long file (MUSAA.DMD) to be written on the disk which can be played
directly by SOUND without any conversion. Be sure to delete
MUSAA.DMD before leaving! With RCDFLG←-1; there are no save
features.
Use the 'TAPNEW[MUS,LCS]' program for storing .DMD files on tape for
later use. To add to files already on tape, type 'END' as name #1.
To move to end of a particular file name, type 'NAME END'. The files
may be converted directly from the tape or, by typing 'RESTORE' as
name #1, they will be written back on the DSK. <CR> as the final name
restores the entire tape.
XXXXXXXX REVERB XXXXXXXXX
If you are using reverberation and are computing your music in
several sections it is necessary to set P2 for the 'RV' instruments
in a special way.
In place of P2 the following must appear: 'DUR(N1,N2,N3)'. N1=P2
N2=SPEED(as set by you someplace earlier) N3=NCHNS(num. of channels).
This is all necessary to avoid having some blank samples (which might
cause clicks) at the ends of sections.
Example: INPUT? TTY:
*RCDFLG←1; (or 'BIGBIT←1;' for 18-bit computation.)
*REVINIT←1;R←0; (assuming 'R' is in the reverb insts.)
*PLAY;RV1 0 DUR(11.3451,4,2);RV2;
*<CNTRL Z>
INPUT? DSK:NAME.DAT
0 0 1 3 5 MUSAA/ 5 7 7 9 MUSAB/
(the numbers are P1 for each note.)
INPUT?
At this point the computation is ended and MUSAA and MUSAB are ready
to be converted for playing.
If a new section is to be begun with a continuation of the
reverberation, the next call on the reverb instruments must be
preceded by:
REVINIT←0;
********** SECTION 15 **********
The following contains examples of most features of 'SCORE'.
NOTES ; NOTES.DAT will be the name of the note list. (use up
to 5 letters)
If the first column is blank the line will be ignored.
BUZZ ; instrument 1=BUZZ, begin time=0", duration=# of notes
in 'NOTES' (P3).
P2 RHY; RHY=next entries will be in terms of musical rhythm.
4/8/16/1/-8; quarter note, eighth, sixteenth, whole, eighth rest
4,8/1,16; dotted quarter, whole tied to sixteenth
8,16 X 5/2 X 3; five dotted eighths, three half notes
-12/20; -12=1/8 note triplet rest(1/12 of a whole), 20=1/5 of
a quarter
4//8///-8,16; two quarters, three eighths, a dotted eighth rest
16//4/8,16/REP 3,5*; the previous 3 entries will play 5 times
'*' signals the end of the list of entries
P3 NOTES; notes of the tempered scale may be entered
C1/CS/D; C1=lowest C on piano keyboard. S=sharp. F=flat.
DS/E; The octave range will remain the same until changed.
FS4/DS/C/R; F# above middle C, D#, middle C, R=rest.
DF5//D///; Two Db's in 5th octave, four D's.
C3/G/E/G/X 4,3; The pattern is played 3 times.
REP 27; Everything thus far will repeat.
FS6 X 9/FINE*; Nine F#'s, 'FINE' marks conclusion for BUZZ.
'*' concludes list.
P4 NUM; A list of numbers will be entered.
100//200/300 X 4; A total of seven numbers.
50/X 3/9999.02; The sequence 300,300,50 will play twice.
REP 12,3*; The entire string of numbers entered will play 3
times. 9999.02 will cause the data of P2 to appear at
that point.
P5 FUNC; A list of functions. (Use only F1 through F15 in a
list).
2//10 X 3/5*; =F2,F2,F10,F10,F10,F5. 'REP' may also be used.
Every 'list' must end with a '*'.
P6 LIT;
"P3*P4"/"P3+P4"//;Surround items by quotes. 2nd item appears 3 times.
"AS"/",-1"/"1"/*;Comma precedes minus sign. There are no REP features
with LIT.
*; will end list. Last item will appear twice.
Next will be random selection of literal strings.
Use only one line.
The 1st of each pair is a % number.
P7 .2 "P3*P4" .3 "P6" .33 "101.3" .17 "2";
20% of the time it will pick "P3*P4",etc.
P8 MOVE; To move from one number to another over a given dura-
tion.
5 10 150; During 5" P8 will change from 10 to 150.
3 80 43*; During next 3", from 80 to 43.
End with *;. P8 will stay at last number.(43)
P9 MOVE;
6 CS5 FS4*; During 6" P9 will move down from C# to F#.
; After 6" it will stay on F#.
P10 MOVE/20 10,40 100,400; If there are 5 numbers, the last two pairs
10 30,100 30,30*; will be random selection ranges. (see comments)
P11 MOVE/11.4 C2,F2 G3,C5; Moving ranges of random selection of temp-
ered notes.
3 A4,A4 A4,A4; Stays on A for 3".
5 A4,A4 C2,F2*; Returns to change of departure.
Octave numbers must always be given with 'MOVE'.
END ; Ends entries for this instrument at this begin time.
BUZZ 7.5; Entries beginning at time 7.5"
P7 263.5; This number will repeat for each note until changed.
P5 F11; " function " " " " " " ".
(up to F15 only)
P9 AS3; This note will " " " " " "(no F's)
If param numbers are skipped, they will print
out as zeros.
Next gives random selection within specified ranges.
30% chance between 1 & 4, 22% between 10 & 15, etc.
P13 .3 1,4 .22 10,15 .18 20,30 .3 55,55 ; (P13 was 0 until now.)
Next gives random selection of tempered notes.
P15 .1 CS3,F3 .5 C4,DS4 .4 FS6,B6;
P16 1 10,20; 100% of the time, a number between 10 and 20.
P14 P13; Will repeat selections of P13 in P14.
P17 9999.02/END; This repeats data of P2.
Ends entries for BUZZ at time 7.5"
TOOT 0 2,15; Inst 2=TOOT, begin time=0",
2,15 means inst2 will play 15 notes.
P2 REP; Will repeat data of previous
instrument for this param number.
P3 REP 9; Repeats P9 of previous instrument.
P5 REP 3,2; Repeats P3 of instrument 2.
(i.e. TOOT. just ';' does the same.)
P6 REP 6,1 4; Will repeat P6 of inst 1 in this
and all insts through #4.
P31 .05; P31 sets random tempo range to + or - .05"
It will never vary more than .15"
P32 .2/END; P32 sets % of random rests.
CLAR 2 9.45; Begin time=2", dur=9.45".
P2 RHY/TEMPO; TEMPO will be set for this instrument individually.
7 84 112; Moves from MM=84 to MM=112 during 7".(7 quarter NOTES)
11.3 112 46; Retards to MM=46 during 11.3".
1 96 96*; Shifts to MM=96, stays there.
'*;' ends 'TEMPO' entries.
4 X 7/8,16/16/REP 2,15*; Rhythmic items follow directly.
P3 C4/P4 100/P5 ;P5 will repeat data of param just before.
(Don't use with P31-32)
P32 MOVE; (the above = rep 3,4;)
4 .1 .5; Random rests will change from 10% to 50% in 4".
3 .6 0*; " " " " " 60% to 0% in 3".
A '*;' is needed to end 'MOVE' entries.
END ;
ZAP 0 8; Inst 4=ZAP, begin time=0", duration=8".
DUPL 2; Will duplicate all data of inst 2 (TOOT) thus
far entered.
P2 RTAP; Rhythm from telegraph keys, to be coordinated.
NAME ; 1st five spaces=name of rhythm data file.
1,4,8/15 /1,1/7 /2,16/5*; Coordination comes on 16th,
and 23rd notes and at end.
'*;' ends 'RTAP' data.
P4 123/END ; P4 is reset immediately.
TOOT 2,5; Next entries begin on note 5 of instrument 2.
P2 TAP; For rhythm entered with telegraph keys.
NAME2 ; 1st five spaces=name of rhythm data file.
P7 REP 4,3; Data of P4, inst 3 will be repeated.
P8 "P3*P4/2+P16"; This literal string will appear for each note.
P10 SUBN; This will call a subroutine and print numbers.
P11 SUBL/END; " " " " " " " letters.
Be sure to leave at least 1 space after 'INSERT' or 'EDIT'.
INSERT 2.3; Line will appear at time 2.3" (basic time!).
P24←21.3*P4+P8/P11; <Up to 75 characters (including
this comment) will appear.
INSERT 2,7; The next line will appear just before note 7 of inst 2.
PRINT P1;
EDIT 1,8,4; The next will replace P4 in note 8 of inst 1.
440 ; Up to 5 characters may be used (don't include the ; !!)
EDIT 3,11;If no param num is given the entire note must be entered.
CLAR 2.3 .13 AS*2 250; <Up to 75 spaces may be used.
Be sure P1&2 are OK.
TEMPO; 'TEMPO' changes outside of a particular inst will affect
11 72 144; P2 for all insts. Be sure to check any time factors
6 144 108; in other params and all data entries
5 108 /72*; which are time dependent. '*' ends TEMPO entries.
RUN;
********** SECTION 16 **********
*********** Some Supplemental Programs ************
****** CONNEW ********
This program reads the .DMD files which are created by MUS10 when
BIGBIT or RCDFLG are set to any non-zero value. A single long file
named MUSIC.MUS is created which is used for the real-time play.
If the IBM 'User Disk Pack' is to be used the UDP must be assigned in
advance. ALWAYS!! BE SURE THAT THE CORRECT UDP IS MOUNTED!!!!!!!!
If CONNEW is asked to read from MAGTAPE it will ask you to type
'MAXAMP'. MAXAMP is the amplitude number that appears at your TTY
when the last .DMD file of your computation is completed. (Just
before INPUT ? appears again.)
When all the .DMD files have been converted CONNEW will ask 'MORE ?'
To add another set of files type YES, otherwise NO or <CR>.
******* PLAY, SOUND, GAR50, UDPNEW ************ (All on [MUS,LCS] )
All these programs are used for real-time play.
PLAY reads a single file (MUSAA.DMD or MUSIC.MUS) from the disk at
speeds 1, 2 or 3. If PLAY is to be used set RCDFLG←-1.
SOUND plays directly from the IBM 3330 disk. GAR50 copies MUSIC.MUS
to the LIBRASCOPE disk. (Use GAR50 for 4-channel sound.)
UDPNEW plays from the IBM 'User Disk Pack'. The UDP must be assigned
in advance.
The 'SPEED' numbers are as follows:
10000 SRATE = 3
20000 " = 1 (or 10000 SRATE in stereo.)
25000 " = 2
50000 " = 4 (or 25000 SRATE in stereo.)
100000 " = 5 (or 25000 SRATE in quadriphonic.)
************ TAPNEW ************
This program is for putting .DMD files onto MAGTAPE. Ordinarily the
program will copy the .DMD files from the disk onto MTA0 in such a
form that they may be converted directly by CONNEW.
TAPNEW may also be used to restore .DMD files to the disk or copy
them from MTA1 to MTA0.
To restore to disk, type RESTORE when the program asks for NAME #1.
To copy to MTA1, type COPY " " " " " " ".
To add more to tape, type END " " " " " " ".
Other commands that may also be given are BACKSPACE and RESET. If the
system dies while you are computing with BIGBIT←-1 you must! use
BACKSPACE to get back to the proper position on the tape before you
run the appropriate .SAV file.
RESET is used to set the tape in proper position to continue writing
with BIGBIT←-1 after CONNEW has been used.
********** INDEX **********
SECTION NUMBER
ALL . . . 10
AMPLITUDE FACTOR . . 12
BASIC TIME . . . 9,11 RHYTHM . . . 4,10
BEGIN TIME . . . 1 RTAP . . . 10,11
BIGBIT . . . 14 RUN . . . 2,12
BLANK LINES . . . 1,5 SECTIONS . . . 13
CODE WORDS . . . 4 SEG . . . 11
COMMA . . . 9 SEMICOLON . . . 1,8
COMMENTS . . . 1 SLASH . . . 12
CONDUCT . . . 11 SPEED . . . 16
CONNEW . . . 16 STAR . . . 4
COUNT . . . 9 SUBROUTINES(SUBN,SUBL) . 9
DOPLAY . . . 14 SYNTH . . . 11
DUPLICATE . . . 10 TAP . . . 10,11
DURATION . . . 1,9,12,14,16 TELEGRAPH KEYS . . . 10
DUTY FACTOR . . . 10 TEMPO . . . 4,10,11
EDIT . . . 11,12 TEMPO FACTOR . . 4,10,12
END . . . 2,5 TYPE . . . 12
X . . . 5,8
FINE . . . 5
FUNCTIONS . . . 2,5 ZERO . . . 2
INSERT . . . 11
INVERSION . . . 7
INVISIBLE . . . 10,11
LETTERS . . . 5
LITERAL . . . 5
LSBUF . . . 14
METRONOME . . . 4
MOTIVES . . . 7
MOVE,MOVX . . . 8
NOTES . . . 2,5
NOTES,EDITED . . . 11
NUMBERS . . . 2,5
OMIT . . . 12
P2 . . . 4,5,8,9,10,12,14
PLAY . . . 16
PRINT . . . 11
PROXIMITY MODE . . . 5
RANDOM LISTS . . . 6
RANDOM SELECTION . . 3,8
RCDFLG . . . 14,16
REP,REPEAT . . . 2,4,6,10
RESERVED NUMBER(9999.) . . . 2,6
RESTART . . . 1
RESTS . . . 4,5,15
RETROGRADE . . . 7
REVERBERATION . . . 14